﻿// ----------------------------------------------------------------------------------------
// Author:                    Joaquín López y Magally Vargas
// Company:                   Albalia Interactiva S.L
// Assembly version:          1.0.0.0
// Date:                      10/02/2009
// Time:                      11:54
// Solution Name:             FacturaeAdd-in
// Solution Filename:         FacturaeAdd-in.sln
// Solution FullFilename:     C:\Ribbon_Facturae\FacturaeAdd-in.sln
// Project Name:              FacturaeAdd-in
// Project Filename:          FacturaeAdd-in.csproj
// Project FullFilename:      C:\Ribbon_Facturae\FacturaeAdd-in\FacturaeAdd-in.csproj
// Project Item Name:         ConfigData.cs
// Project Item Filename:     ConfigData.cs
// Project Item FullFilename: C:\Ribbon_Facturae\FacturaeAdd-in\ConfigData.cs
// Project Item Kind:         Código
// Purpose:                   Almacenar la información del emisor de la factura para poder acceder a los datos mas facilmente
//Copyright © 2008 - 2009 Albalia Interactiva S.L. Reservados todos los derechos.
// ----------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace FacturaeAdd_in
{
    /// <summary>
    /// Clase que representa las propiedades del archivo de configuración básico de una facturae.
    /// Es la representación del archivo XML de configuración como un objeto .NET
    /// </summary>
    public class ConfigData
    {
        #region "Properties"

        /// <summary>
        /// Propiedad que contiene la URL donde se encentra almacenado el logotipo corporativo de la empresa.
        /// </summary>
        public string UrlLog { get; set; }

        /// <summary>
        /// Propiedad que contiene la URL donde se encentra almacenad la plantilla de la facturae.
        /// </summary>
        public string UrlTemplate { get; set; }

        /// <summary>
        /// Propiedad que contiene el tipo de firma con el que se firmará la facturae.
        /// </summary>
        public string SignedType { get; set; }

        /// <summary>
        /// Propiedad que contiene la URL del servidor de sellado de tiempo.
        /// </summary>
        public string UrlSTServer { get; set; }

        /// <summary>
        /// Propiedad que contiene la URL donde se almacenarán por defecto las facturaes emitidas por la empresa.
        /// </summary>
        public string UrlIssued { get; set; }

        /// <summary>
        /// Propiedad que contiene la URL donde se almacenarán por defecto las facturaes recibidas.
        /// </summary>
        public string UrlRecived { get; set; }

        /// <summary>
        /// Propiedad que contiene la URL donde se almacenarán por defecto los borradores.
        /// </summary>
        public string UrlDrafts { get; set; }



        /****************************** DATOS DE EMPRESA ******************************/

        /// <summary>
        /// Propiedad que contiene el número CIF de la empresa.
        /// </summary>
        public string CIF { get; set; }

        /// <summary>
        /// Propiedad que contiene el tipo de persona.
        /// </summary>
        public string PersonType { get; set; }

        /// <summary>
        /// Propiedad que contiene codigo del tipo de persona.
        /// </summary>
        public string PersonTypeCode { get; set; }

        /// <summary>
        /// Propiedad que contiene el tipo de residencia.
        /// </summary>
        public string ResidenceType { get; set; }

        /// <summary>
        /// Propiedad que contiene el codigo del tipo de residencia.
        /// </summary>
        public string ResidenceTypeCode { get; set; }

        /// <summary>
        /// Propiedad que contiene el nombre de la empresa.
        /// </summary>
        public string CompanyName { get; set; }

        /// <summary>
        /// Propiedad que contiene el nombre de la persona.
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// Propiedad que contiene el primer apellido de la persona.
        /// </summary>
        public string FirstName { get; set; }

        /// <summary>
        /// Propiedad que contiene el segundo apellido de la persona.
        /// </summary>
        public string SecondName { get; set; }

        /// <summary>
        /// Propiedad que contiene el número teléfono de la empresa.
        /// </summary>
        public string Telephone { get; set; }

        /// <summary>
        /// Propiedad que contiene el número de fax de la empresa.
        /// </summary>
        public string Fax { get; set; }

        /// <summary>
        /// Propiedad que contiene la direccion completa
        /// </summary>
        public string Address { get; set; }

        /// <summary>
        /// Propiedad que contiene el código postal.
        /// </summary>
        public string CP { get; set; }

        /// <summary>
        /// Propiedad que contiene la población donde se encuentra la empresa.
        /// </summary>
        public string County { get; set; }
        /// <summary>
        /// Propiedad que contiene la provincia donde se encuentra la empresa.
        /// </summary>
        public string State { get; set; }

        /// <summary>
        /// Propiedad que contiene el país donde se encuentra la empresa.
        /// </summary>
        public string Country { get; set; }

        /// <summary>
        /// Propiedad que contiene codigo del país donde se encuentra la empresa.
        /// </summary>
        public string CountryCode { get; set; }

        /// <summary>
        /// Propiedad que contiene el email de la empresa.
        /// </summary>
        public string Email { get; set; }

        #endregion

        #region ""Constructors"


        /// <summary>
        /// Constructor de la clase que inicializa todas las propiedades.
        /// </summary>
        public ConfigData()
        {
            UrlLog = string.Empty;
            UrlTemplate = string.Empty;
            SignedType = "XADES-XL";
            UrlSTServer = string.Empty;
            UrlIssued = string.Empty;
            UrlRecived = string.Empty;
            UrlDrafts = string.Empty;
            CIF = string.Empty;
            PersonType = string.Empty;
            PersonTypeCode = string.Empty;
            ResidenceType = string.Empty;
            ResidenceTypeCode = string.Empty;
            CompanyName = string.Empty;
            Name = string.Empty;
            FirstName = string.Empty;
            SecondName = string.Empty;
            Telephone = string.Empty;
            Fax = string.Empty;
            CP = string.Empty;
            County = string.Empty;
            State = string.Empty;
            Country = string.Empty;
            Country = string.Empty;
            Email = string.Empty;

        }

        #endregion
    }
}

